package com.anjubao.parking.municipal.parkinglot.model;

import com.anjubao.parking.municipal.common.utils.U;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 设备运行情况表
 *
 * @author anjubao
 */
@TableName(value = "parking_lot_device_log")
@Data
public class ParkingLotDeviceLog implements Serializable {

    /**
     * 主键id
     */
    @TableId(type = IdType.INPUT)
    private Long id;

    /**
     * token
     */
    private String token;

    /**
     * 重发标记 0:正常,1:重发
     */
    private Integer resend;

    /**
     * 设备id
     */
    private Long deviceId;

    /**
     * 设备code
     */
    private String deviceCode;

    /**
     *设备类型 1:充电桩,2:视频桩,3:地磁,4:pda,5:诱导屏
     */
    private Integer deviceType;

    /**
     * 设备名称
     */
    private String deviceName;

    /**
     * 变化状态 0:无车,1:有车
     */
    private Integer usedStatus;

    /**
     *状态 0:故障,1:正常
     */
    private Integer status;

    /**
     *运行状态 0:断线,1:在线
     */
    private Integer isOnline;

    /**
     *剩余电量
     */
    private Integer remainingBattery;

    /**
     *停车场ID
     */
    private Long parkingLotId;

    /**
     *停车场编号,code生成规则为100(3位)+yyMMddHHmm(10位)+id(19位)
     */
    private String parkingLotCode;

    /**
     *停车场名称
     */
    private String parkingLotName;

    /**
     *停车场停车位ID
     */
    private Long parkingLotSlotId;

    /**
     *停车场停车位编号
     */
    private String parkingLotSlotCode;

    /**
     *停车场停车位名称
     */
    private String parkingLotSlotName;

    /**
     *备注
     */
    private String note;

    /**
     *事件ID
     */
    private String eventId;

    /**
     *事件信息
     */
    private String eventInfo;

    /**
     *事件级别 1:一般,2:严重
     */
    private Integer eventLevel;

    /**
     *事件时间
     */
    private LocalDateTime eventTime;

    /**
     *所在省份ID
     */
    private Integer provinceId;

    /**
     *所在省份名称
     */
    private String provinceName;

    /**
     *所在城市ID
     */
    private Integer cityId;

    /**
     *所在城市名称
     */
    private String cityName;

    /**
     *所在行政区ID
     */
    private Integer districtId;

    /**
     *所在行政区名称
     */
    private String districtName;

    /**
     *创建时间
     */
    private LocalDateTime createTime;

    @Override
    public String toString() {
        return U.json(this);
    }
}
